/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include <向量.h>
#include "引擎枚举数据.h"
#include "引擎数据类型.h"



struct S_FLIP物理引擎核心 {
	uint32	m_线程数;

	S_FLIP物理引擎核心();
	~S_FLIP物理引擎核心();

};





typedef struct {
	S_域区	m_域属性;
	//vec3	m_域世界大小;
	//vec3	m_域世界偏移;


	float32* m_方向X;
	float32* m_方向Y;
	float32* m_方向Z;

	float32* m_方向X0;
	float32* m_方向Y0;
	float32* m_方向Z0;

	//vec3* m_方向;
	//vec3* m_方向0;

	float32* m_速度;
	float32* m_密度;

	float32	m_时间步长;
	float32 m_扩散量;
	float32 m_粘度;			//viscosity


	//uint32 m_分辨率;
	//uint8* m_Mask;

}S_FluidCube;



S_FluidCube*	f_flip_创建流体单元(uint32 分辨率, float32 扩散度, float32 粘度, float32 时间步长);
void			f_flip_销毁流体单元(S_FluidCube* cube);


void			f_flip_分配单元(S_FluidCube* cube);




